@extends('layouts.header')
@section('title','检测设备')
@section('content')
<meta name="csrf-token" content="{{ csrf_token() }}">
    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 设备管理 <span class="c-gray en">&gt;</span>检测设备<a class="btn btn-primary radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
    </nav>
    <div class="page-container">
        <div class="cl pd-5 bg-1 bk-gray">
            <span class="">
                <a href="javascript:;" onclick="layer_show('添加','/{{config('constant.name_admin')}}/station/add?id=0')" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 添加</a>
                <a class="btn btn-primary radius" onclick="Export()">当前页导出xls</a>
                <a class="btn btn-primary radius" onclick="chose()">选中操作</a>
                <a class="btn btn-primary radius" onclick="dels()">删除选中</a>
                <a class="btn btn-primary radius" onclick="layer_show('套装组合','group/index',0,0,1)">套装组合</a>
                @if(isAdmin())
                <a class="btn btn-primary radius" onclick="layer_show('设备数据对照','upParam')">设备数据对照</a>
                @endif
            </span>
            <br/>
            <!-- 假设你有一个文件输入和一个提交按钮 -->
            <input type="file" id="excel-file" name="excel">
            <button id="import-button" class="btn btn-success">导入</button>
            <!--<form action="/{{config('constant.name_admin')}}/station/import" method="POST" enctype="multipart/form-data">-->
            <!--    @csrf-->
            <!--    <input type="file" name="excel">-->
            <!--    <button type="submit" class="btn btn-success">导入</button>-->
            <!--</form>-->
        </div>
        <div class="mt-20">
            <table class="table table-border table-bordered table-hover table-bg" id="datatable">
                <thead>
                    <tr class="text-c">
                        <th><input type="checkbox" id="checkAll" /></th>
                        <th>序号</th>
                        <th>仪器设备名称</th>
                        <th>设备编号</th>
                        <th>出厂编号</th>
                        <th>规格/型号</th>
                        <th>量程范围</th>
                        <th>准确度/等级</th>
                        <th>溯源方式</th>
                        <th>溯源单位</th>
                        <th>溯源日期</th>
                        <th>有效截止日期至</th>
                        <th>校准周期</th>
                        <th>设备状态</th>
                        <th>负责人</th>
                        <th>生产厂家</th>
                        <th>购入日期</th>
                        <th>设备局域网IP</th>
                        <th>显示器局域网IP</th>
                        <th>创建日期</th>
                        <th>备注</th>
                        <th class="noExl">操作</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach($data['list'] as $i => $item)
                    <tr class="text-c">
                        <td><input type="checkbox" name="item_ids[]" class="item_ids" data-id="{{$item->id}}" value="{{$item->id}}" /></td>
                        <td>{{$i+1}}</td>
                        <td class="name">{{$item->name}}</td>
                        <td>{{$item->dev_num}}</td>
                        <td>{{$item->fac_num}}</td>
                        <td>{{$item->spec}}</td>
                        <td>{{$item->ranges}}</td>
                        <td>{{$item->accuracy}}</td>
                        <td>{{$data['stat']['trace_type'][$item->trace_type]}}</td>
                        <td>{{$item->trace_com}}</td>
                        <td>{{$item->trace_date}}</td>
                        <td>{{$item->trace_exp_date}}</td>
                        <td>{{$data['stat']['trace_cycle'][$item->trace_cycle]}}</td>
                        <td>{{$data['stat']['status'][$item->status]}}</td>
                        <td>{{$item->user}}</td>
                        <td>{{$item->factory}}</td>
                        <td>{{$item->buy_date}}</td>
                        <td class="dev_lan_ip">{{$item->dev_lan_ip}}</td>
                        <td class="com_lan_ip">{{$item->com_lan_ip}}</td>
                        <td>{{substr($item->ctime,0,10)}}</td>
                        <td>{{$item->remark}}</td>
                        <td class="noExl">
                            <a class="ml-5 btn btn-primary-outline radius size-MINI edit" onclick="edit('修改','edit','{{$item->id}}')">修改</a>
                            <a onclick="del('{{$item->id}}',this)" class="ml-5 btn btn-danger-outline radius size-MINI">删除</a>
                            <a onclick="print_ip(this,'dev_lan_ip')" class="ml-5 btn btn-secondary-outline radius size-MINI @if('{{$item->dev_lan_ip}}') disabled @endif " >打印设备IP</a>
                            <a onclick="print_ip(this,'com_lan_ip')" class="ml-5 btn btn-secondary-outline radius size-MINI @if('{{$item->com_lan_ip}}') disabled @endif">打印显示器IP</a>
                            <a onclick="pcshow('http://{{$item->com_lan_ip}}:7000')" class="ml-5 btn btn-secondary-outline radius size-MINI">显示器屏幕</a>
                        </td>
                    </tr>
                    @endforeach
                </tbody>
            </table>
        </div>
    </div>
    <script type="text/javascript" src="/admin/static/myfolder/js/jquerytable2excel.js"></script>
    <script type="text/javascript" src="/admin/static/myfolder/js/printBarCode.js?ver={{config('constant.static_res_ver')}}"></script>

    <script type="text/javascript">
        @php 
            $setting_info = DB::table('setting_sys')->where('key', 'print_bar_code')->value('value'); //设置信息
            $setting_info = json_decode($setting_info, true);
        @endphp
        var is_remote_print = {{ isset($setting_info['is_remote']) ? $setting_info['is_remote'] : 0}},//为本机打印或远程打印(本机打印:0 , 远程打印:1)
            remote_ip='127.0.0.1';
        $(function () {
            $.fn.dataTable.ext.errMode = 'throw'; //datatable抛异常的方式，在console中输出，默认以alert的方式弹出
            $('#datatable').DataTable({
                // ordering:false,
                order:[[3,'asc']]
            });
        });
        
        document.getElementById('import-button').addEventListener('click', function() {
            var fileInput = document.getElementById('excel-file');
            var file = fileInput.files[0];
    
            // 创建一个FormData对象来包含文件
            var formData = new FormData();
            formData.append('excel', file);
            // 添加 CSRF 令牌到请求头
            var csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
            // 发送AJAX请求
            var xhr = new XMLHttpRequest();
            xhr.open('POST', '/{{config('constant.name_admin')}}/station/import', true);
            xhr.setRequestHeader('X-CSRF-TOKEN', csrfToken);
            // xhr.send(formData);
            
            xhr.onload = function() {
                if (xhr.status === 200) {
                    // 请求成功
                    var response = JSON.parse(xhr.responseText);
                    if (response === '1') {
                        table_reload(0); //0停留在当前页，1回到第一页
                        layer.msg('导入成功!', {
                            icon: 1,
                            time: 2000
                        });
                    } else {
                        layer.msg('导入失败!', {
                            icon: 1,
                            time: 2000
                        });
                    }
                } else {
                    // 请求失败
                    layer.msg('导入失败!', {
                        icon: 1,
                        time: 2000
                    });
                }
            };
    
            // 处理可能的错误
            xhr.onerror = function() {
                layer.msg('请求错误!', {
                    icon: 1,
                    time: 2000
                });
            };
            xhr.send(formData);
        });
        function Export() {
            $("#datatable").table2excel({            //exceltable为存放数据的table
                // 不被导出的表格行的CSS class类
                exclude: ".noExl",
                // 导出的Excel文档的名称
                name: "(云平台)设备管理台账",
                // Excel文件的名称
                filename: "(云平台)设备管理台账",
                bootstrap: true
            });
        }

        function pcshow(url) {
            $.ajax({
                type: "GET",
                cache: false,
                url: url,
                dataType: "jsonp",
                timeout: 2000,
                complete: function (res) {
                    res.status == 200 ? layer_show('主机屏幕', url) : '';
                }
            }).fail(function (jqXHR, textStatus, errorThrown) {
                // net::ERR_CONNECTION_REFUSED 发生时，也能进入
                layer.msg("主机未开启或未共享");
            });
        }

        /*重复输出一个字符串*/
        function str_repeat(string, times) {
            var res = "";
            for (var i = 0; i < times; i++) {
                res += string;
            }
            return res;
        }

        /*表格重新加载*/
        function table_reload(bool) {
            //清除表头 CheckBox的对勾
            $("#datatable").find("thead").find("input[type=checkbox]").removeAttr('checked');
            // if (bool) {
            //     //true时，跳到第一页
            //     table.ajax.reload();
            // } else {
            //     //false时，停留在原来页
            //     table.ajax.reload(null, false);
            // }
            location.reload();
        }

        /*
        参数解释：
        title   标题
        url     请求的url
        id      需要操作的数据id
        w       弹出层宽度（缺省调默认值）
        h       弹出层高度（缺省调默认值）
        */

        /*编辑*/
        function edit(title, url, id, w, h) {
            layer_show(title, url + '?id=' + id, w, h);
        }

        /*删除*/
        function del(id, obj) {
            var index2;
            var node_name = $(obj).closest('tr').find('td.node-name').text();
            layer.confirm('确认要删除“' + node_name + '”吗？', function (index) {
                $.ajax({
                    type: 'GET',
                    url: '/{{config('constant.name_admin')}}/station/del' + '?id=' + id,
                    // dataType: 'json',
                    success: function (data) {
                        if (data === '1') {
                            table_reload(0); //0停留在当前页，1回到第一页
                            layer.msg('删除成功!', {
                                icon: 1,
                                time: 2000
                            });
                        }
                    },
                    error: function (data) {
                        ajax_error(data);
                    },
                    beforeSend: function () {
                        //0.4透明度 白色遮罩
                        index2 = layer.load(2, {
                            shade: [0.05, '#000']
                        });
                    },
                    complete: function () {
                        layer.close(index2);
                    },
                });
            });
        }
        /*删除*/
        function dels(id, obj) {
            var itemIds = []; // 用于存储选中行的ID数组

            // 遍历表格中的所有行
            $('.item_ids').each(function() {
                var checkbox = $(this);

                // 如果复选框被选中，则将ID添加到数组中
                if (checkbox.is(':checked')) {
                    var itemId = checkbox.attr('data-id'); // 假设每行都有一个data-id属性
                    itemIds.push(itemId);
                }
            });
            // console.log(itemIds);
            // return false;
            layer.confirm('确认要删除“' + itemIds.length + '”条数据吗？', function (index) {
                $.ajax({
                    type: 'GET',
                    url: '/{{config('constant.name_admin')}}/station/del' + '?ids=' + itemIds,
                    // dataType: 'json',
                    success: function (data) {
                        if (data === '1') {
                            table_reload(0); //0停留在当前页，1回到第一页
                            layer.msg('删除成功!', {
                                icon: 1,
                                time: 2000
                            });
                        }
                    },
                    error: function (data) {
                        ajax_error(data);
                    },
                    beforeSend: function () {
                        //0.4透明度 白色遮罩
                        index2 = layer.load(2, {
                            shade: [0.05, '#000']
                        });
                    },
                    complete: function () {
                        layer.close(index2);
                    },
                });
            });
        }
        function chose() {
            if ($('input:checkbox:checked','tbody').length == 0) {
                layer.msg('请先选择！');
                return;
            }
            let content = '<div class="page-container">'+
                        '<span class="btn btn-primary radius" onclick="hideZks(1)">隐藏中控页面</span>'+
                        '<span class="btn btn-primary radius ml-10" onclick="hideZks(0)">显示中控页面</span>'+
                        '<span class="btn btn-primary radius ml-10" onclick="hideZks(`-1`)">取消</span>'+
                        '<span class="btn btn-primary radius ml-10" onclick="dels(1)">删除</span>'+
                    '</div>';
            layer.open({
                type: 1,
                area: ['400px','200px'],
                fix: false, //不固定
                title: '选择操作：',
                content: content,
            });
            
        }
        function hideZks(isHide) {
            if (isHide == '-1') {
                layer.closeAll();
                return;
            }
            let ids = getDataIds();
            console.log(ids);
            ajax('post','edit',{'ids':ids,'isHide':isHide});
        }
        

    </script>
@endsection